package com.gxa.mapper;

import com.gxa.pojo.Dept;
import com.gxa.pojo.Emp;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DeptMapper {
    /**
     * 查询部门
     * @param params1
     * @param params2
     * @return
     */
    List<Dept> queryDeptList(Integer params1, Integer params2);
    /**
     * 添加部门
     * @param dept
     * @return
     */
    int addDept(Dept dept);
    /**
     * 根据部门id编辑部门
     * @param dept
     * @return
     */
    int updateDept(Dept dept);
    /**
     * 根据部门id删除部门
     * @param dept_id
     * @return
     */
    int delDept(Integer dept_id);
    /**
     * 根据关键字查询部门
     * @param params1
     * @param params2
     * @param keyword
     * @return
     */
    List<Dept> searchDeptList(Integer params1, Integer params2, @Param("keyword") String keyword);
    /**
     * 根据部门名称查询员工信息
     * @param dept_name
     * @return
     */
    List<Emp> queryEmpList(String dept_name);
    /**
     * 查询部门组织架构
     * @return
     */
    List<Dept> queryDept();
    /**
     * 查询一级部门信息
     * @return
     */
    List<Dept> queryDept1List();
    /**
     * 查询二级部门信息
     * @return
     */
    List<Dept> queryDept2List();
    /**
     * 根据部门id查询部门名称
     * @param dept_id
     * @return
     */
    String queryDeptSuper(int dept_id);
    /**
     * 查询三级部门信息
     * @return
     */
    List<Dept> queryDept3List();
    /**
     * 查询部门信息总条数
     * @return
     */
    Integer countDept();
    /**
     * 根据员工姓名查询员工信息
     * @return
     */
    List<Emp> queryEmpName(String emp_name);
    /**
     * 根据部门id查询部门信息
     * @return
     */
    Dept editDept(Integer dept_id);
    /**
     * 根据部门id查询部门级别
     * @return
     */
    int queryDeptLevel(Integer dept_id);
    /**
     * 根据关键字查询部门信息条数
     * @param keyword
     * @return
     */
    Integer countSearchDeptList(@Param("keyword") String keyword);
    /**
     * 查询上级部门id等于部门id
     * @param dept_id
     * @return
     */
    List<Dept> queryDeptFid(Integer dept_id);
    /**
     * 根据部门名称查询部门信息
     * @param dept_name
     * @return
     */
    Dept queryDeptName(String dept_name);
}
